package com.clay.appointment.service;

import com.clay.appointment.common.page.PageInfo;
import com.clay.appointment.entity.hospital.Department;
import com.clay.appointment.vo.hospital.DepartmentQueryVo;
import com.clay.appointment.vo.hospital.DepartmentVo;

import java.util.List;
import java.util.Map;

/**
 * @Author : clay
 * @Description:
 * @Date: Create in 10:47 2021/8/6
 * @Modified By:
 */
public interface DepartmentService {
    /**
     * 上传科室信息
     * @param paramMap 请求参数
     */
    void save(Map<String, Object> paramMap);

    /**
     *
     * @param page 当前页
     * @param limit 每页条数
     * @param departmentQueryVo 查询科室参数
     * @return 返回分页PageInfo
     */
    PageInfo<Department> selectPage(Integer page, Integer limit, DepartmentQueryVo departmentQueryVo);

    /**
     *
     * @param hospitalCode 医院编号
     * @param departmentCode 科室编号
     */
    void removeDepartment(String hospitalCode, String departmentCode);

    /**
     *
     * @param hospitalCode 医院编号
     * @return 医院所有科室列表
     */
    List<DepartmentVo> findDepartmentTree(String hospitalCode);


    String getDepartmentNameByDepartmentCodeAndHospitalCode(String departmentCode,String hospitalCode);
}
